// @ts-check

// !!! Sharing the dependencies of caz
module.paths = require.main.paths;

const path = require("path");
const chalk = require("chalk");
const { name, version } = require("./package.json");

/** @type {import('../../src/init/types')} */
module.exports = {
  name,
  version,
  metadata: {
    year: new Date().getFullYear(),
    version: "2.2.2",
  },
  prompts: [
    {
      name: "name",
      type: "text",
      message: "Project name",
    },
    // {
    //   name: "version",
    //   type: "text",
    //   message: "Project version",
    // },
    // {
    //   name: "description",
    //   type: "text",
    //   message: "Project description",
    //   initial: "Awesome vue apps.",
    // },
    // {
    //   name: "author",
    //   type: "text",
    //   message: "Project author name",
    // },
    // {
    //   name: "email",
    //   type: "text",
    //   message: "Project author email",
    // },
    // {
    //   name: "github",
    //   type: "text",
    //   message: "GitHub username or organization",
    //   initial: "zce",
    // },
    // {
    //   name: "install",
    //   type: "confirm",
    //   message: "Install dependencies",
    //   initial: true,
    // },
    // {
    //   name: "pm",
    //   type: (prev) =>
    //     process.env.NODE_ENV === "test" || prev ? "select" : null,
    //   message: "Package manager",
    //   hint: " ",
    //   choices: [
    //     { title: "npm", value: "npm" },
    //     { title: "yarn", value: "yarn" },
    //     { title: "pnpm", value: "pnpm" },
    //   ],
    // },
  ],
  init: true,
  install: false,
  emit: async (ctx) => {
    // ctx.config.install = ctx.answers.install && ctx.answers.pm;
  },
  complete: null,
  // async (ctx) => {
  //   return null;
  //   console.clear();
  //   console.log(
  //     chalk`Created a new project in {cyan ${ctx.project}} by the {blue ${ctx.template}} template.\n`
  //   );
  //   console.log("Getting Started:");
  //   if (ctx.dest !== process.cwd()) {
  //     console.log(
  //       chalk`  $ {cyan cd ${path.relative(process.cwd(), ctx.dest)}}`
  //     );
  //   }
  //   if (ctx.config.install === false) {
  //     console.log(chalk`  $ {cyan npm install} {gray # or yarn}`);
  //   }
  //   console.log(
  //     chalk`  $ {cyan ${
  //       ctx.config.install ? ctx.config.install : "npm"
  //     } run dev}`
  //   );
  //   console.log("\nHappy hacking :)\n");
  // },
};
